import { Enum } from "cc";

let AcitonFlag = 0;
// 行动类型
export enum AcitonType {
    /**透明度 */
    opacity = 1 << AcitonFlag++,
    /**缩放 */
    scale = 1 << AcitonFlag++,
    /**位置 */
    position = 1 << AcitonFlag++,
    /**角度 */
    angle = 1 << AcitonFlag++,
}

// 属性类型(运动类型)
export enum PropType {
    /**到记录值 */
    to,
    /**从记录值开始 */
    from,
    /**自由运动 */
    free,
}
Enum(PropType);

// 数值类型
export enum ValueType {
    /**相对 */
    relative,
    /**绝对 */
    absolute,
}
Enum(ValueType);

// 缓动类型 同cocos内置缓动
export enum Easing {
    constant,
    linear,
    quadIn,
    quadOut,
    quadInOut,
    cubicIn,
    cubicOut,
    cubicInOut,
    quartIn,
    quartOut,
    quartInOut,
    quintIn,
    quintOut,
    quintInOut,
    sineIn,
    sineOut,
    sineInOut,
    expoIn,
    expoOut,
    expoInOut,
    circIn,
    circOut,
    circInOut,
    elasticIn,
    elasticOut,
    elasticInOut,
    backIn,
    backOut,
    backInOut,
    bounceIn,
    bounceOut,
    bounceInOut,
    smooth,
    fade,
    quadOutIn,
    cubicOutIn,
    quartOutIn,
    quintOutIn,
    sineOutIn,
    expoOutIn,
    circOutIn,
    elasticOutIn,
    backOutIn,
    bounceOutIn,
}
Enum(Easing);